Training-based channel estimation for multiple-antennas

ABSTRACT

The burden of designing multiple training sequences for systems having multiple transmit antennas, is drastically reduced by employing a single sequence from which the necessary multiple sequences are developed. The single sequence is selected to create sequences that have an impulse-like autocorrelation function and zero cross correlations. A sequence of any desired length N t  can be realized for an arbitrary number of channel taps, L. The created sequences can be restricted to a standard constellation (that is used in transmitting information symbols) so that a common constellation mapper is used for both the information signals and the training sequence. In some applications a training sequence may be selected so that it is encoded with the same encoder that is used for encoding information symbols. Both block and trellis coding is possible in embodiments that employ this approach.

RELATED APPLICATIONS

This application is a continuation of Application Ser. No. 11/190,403, filed Jul. 27, 2005, now U.S. Pat. No. 7,746,945 (reissued as reissue Patent No. RE44,827), which application was a continuation of application 09/956,648 filed Sep. 20, 2001, now U.S. Pat. No. 6,959,047, which claims priority from provisional application No. 60/282,647 filed Apr. 9, 2001.

BACKGROUND OF THE INVENTION

This relates to space-time coding, and more particularly, to channel estimation in space-time coding arrangements.

Space-Time coding (STC) is a powerful wireless transmission technology that enables joint optimized designs of modulation, coding, and transmit diversity modules on wireless links. A key feature of STC is that channel knowledge is not required at the transmitter. While several non-coherent STC schemes have been invented that also do not require channel information at the receiver, they suffer performance penalties relative to coherent techniques. Such non-coherent techniques are therefore more suitable for rapidly fading channels that experience significant variation with the transmission block. However, for quasi static or slowly varying fading channels, training-based channel estimation at the receiver is commonly employed, because it offers better performance.

For single transmit antenna situations, it is known that a training sequence can be constructed that achieves a channel estimation with minimum mean squared error (optimal sequences) by selecting symbols from an Nth root-of-unit alphabet of symbols

${\mathbb{e}}^{\frac{{\mathbb{i}2}\;\pi\; k}{N}},{k = 0},1,2,{\ldots\mspace{14mu}\left( {N - 1} \right)},$ when the alphabet size N is not constrained. Such sequences are the Perfect Roots-of-Unity Sequences (PRUS) that have been proposed in the literature, for example, by W. H. Mow, “Sequence Design for Spread Spectrum,” The Chinese University Press, Chinese University of Hong Kong, 1995. The training sequence length, N_(t), determines the smallest possible alphabet size. Indeed, it has been shown that for any given length N_(t), there exists a PRUS with alphabet size N=2N_(t), and that for some values of N_(t) smaller alphabet sizes are possible. It follows that a PRUS of a predetermined length might employ a constellation that is other than a “standard” constellation, where a “standard” constellation is one that has a power of 2 number of symbols. Binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), and 8-point phase shift keying (8-PSK) are examples of a standard constellation. Most, if not all, STC systems employ standard constellations for the transmission of information.

Another known approach for creating training sequences constrains the training sequence symbols to a specific (standard) constellation, typically, BPSK, QPSK, or 8-PSK in order that the transmitter and receiver implementations would be simpler (a single mapper in the transmitter and an inverse mapper in the receiver—rather than two). In such a case, however, optimal sequences do not exist for all training lengths N_(t). Instead, exhaustive searches must be carried out to identify sub-optimal sequences according to some performance criteria. Alas, such searches may be computationally prohibitive. For example, in the third generation TDMA proposal that is considered by the industry, 8-PSK constellation symbols are transmitted in a block that includes 116 information symbols, and 26 training symbols (N_(t)=26). No optimal training sequence exists for this value of N_(t) and constellation size and number of channel taps to estimate, L.

When, for example, two transmit antennas are employed, a training sequence is needed for each antenna, and ideally, the sequences should be uncorrelated. One known way to arrive at such sequences is through an exhaustive search in the sequences space. This space can be quite large. For example, when employing two antennas, and a training sequence of 26 symbols for each antenna, this space contains 8^(2×26) sequences. For current computational technology, this is a prohibitively large space for exhaustive searching. Reducing the constellation of the training sequence to BPSK (from 8-PSK) reduces the search to 2^(2×26) sequences, but that is still quite prohibitively large; and the reduction to a BPSK sequence would increase the achievable mean squared error. Moreover, once the two uncorrelated sequences are found, a generator is necessary for each of the sequences, resulting in an arrangement (for a two antenna case) as shown in FIG. 1, which includes transmitter 10 that includes information encoder 13 that feeds constellation mapper 14 that drives antennas 11 and 12 via switches 15 and 16. To provide training sequences, transmitter 10 includes sequence generator 5 followed by constellation mapper 6 that feeds antenna 11 via switch 15, and sequence generator 7 followed by constellation mapper 8 that feeds antenna 12 via switch 16.

SUMMARY OF THE INVENTION

As advance in the art is achieved with an approach that drastically reduces the problem of designing multiple training sequences for systems having multiple transmit antennas, by employing a single sequence from which the necessary multiple sequences are developed. The single sequence is selected to develop the multiple sequences that have impulse-like autocorrelation functions and zero cross correlations. A sequence of any desired length N_(t) can be realized for an arbitrary number of channel taps, L.

In one approach, a sequence having an impulse-like autocorrelation function is restricted advantageously to a standard constellation (that is used in transmitting information symbols) so a common constellation mapper is used for both the information signals and the training sequence.

In another approach, a training sequence is selected so that it is encoded with the same encoder that is used for encoding information symbols. Both block and trellis coding is possible in embodiments that employ this approach.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 shows a prior art arrangement of a two-antenna transmitter and a one antenna receiver, where training sequences are independently generated for the two transmitting antennas;

FIG. 2 shows an arrangement where the training sequences employ the same constellation mapper that is employed in mapping space-time encoded information symbols;

FIG. 3 presents a block diagram of an arrangement where a single encoder generates the training sequences for the two transmitter antennas;

FIG. 4 shows one encoding realization for encoder 9 of FIG. 3;

FIG. 5 shows another encoding realization for encoder 9 of FIG. 3;

FIG. 6 presents a block diagram of an arrangement where a single encoder generates both the training sequences and the information symbols for the two transmitter antennas;

FIG. 7 shows one encoding realization for encoder 9 of FIG. 6;

FIG. 8 shows another encoding realization for encoder 9 of FIG. 6;

FIG. 9 shows yet another encoding realization for encoder 9 of FIG. 6; and

FIG. 10 shows the constellation of an 8-PSK encoder realization for encoder 9.

DETAILED DESCRIPTION

The following mathematical development focuses on a system having two transmit antennas and one receive antenna. It should be understood, however, that a skilled artisan could easily extend this mathematical development to more than two transmit antennas, and to more than one receive antenna.

FIG. 2 shows an arrangement a transmitter with two transmit antennas 11 and 12 that transmits signals s1 and s2, respectively, and a receiver with receive antenna 21, and channels h1 (from antenna 11 to antenna 21) and h2 (from antenna 12 to antenna 21) therebetween. Channels h1 and h2 can be expressed as a finite impulse response (FIR) filter with L taps. Thus, the signal received at antenna 21 at time k, y(k), can be expressed as

$\begin{matrix} {{y(k)} = {{\sum\limits_{i = 0}^{L - 1}{{h_{1}(i)}{s_{1}\left( {k - i} \right)}}} + {\sum\limits_{i = 0}^{L - 1}{{h_{2}(i)}{s_{2}\left( {k - i} \right)}}} + {z(k)}}} & (1) \end{matrix}$ where z(k) is noise, which is assumed to be AWGN (additive white Gaussian noise).

The inputs sequences s1 and s2 belong to a finite signals constellation and can be assumed, without loss of generality, that they are transmitted in data blocks that consist of N, information symbols and N_(t) training symbols. If Nt training symbols are employed to estimate the L taps of a channel in the case of a single antenna, then for a two antenna case such as shown in FIG. 1, one needs to employ 2N_(t) training symbols to estimate the 2 L unknown coefficients (of h1 and h2).

When a training sequence of length N_(t) is transmitted, the first L received signals are corrupted by the preceding symbols. Therefore, the useful portion of the transmitted N_(t) sequence is from L to N_(t). Expressing equation (1) in matrix notation over the useful portion of a transmitted training sequence yields

$\begin{matrix} {{y = {{{Sh} + z} = {{\left\lbrack {{S_{1}\left( {L,N_{t}} \right)}\mspace{20mu}{S_{2}\left( {L,N_{t}} \right)}} \right\rbrack\begin{bmatrix} {h_{1}(L)} \\ {h_{2}(L)} \end{bmatrix}} + z}}},} & (2) \end{matrix}$ where y and z are vectors with (N_(t)−L+1) elements, S₁ (L,N_(t)) and S₂ (L,N_(t)) are convolution matrices of dimension (N_(t)−L +1)×L, and h₁(L) and h₂(L) are of dimension L×1; that is,

$\begin{matrix} {{{S_{i}\left( {L,N_{t}} \right)} = \begin{bmatrix} {s_{i}\left( {L - 1} \right)} & {s_{i}\left( {L - 2} \right)} & \cdots & {s_{i}(0)} \\ {s_{i}(L)} & {s_{i}\left( {L - 1} \right)} & \cdots & {s_{i}(1)} \\ \vdots & \vdots & \ddots & \vdots \\ {s_{i}\left( {N_{t} - 1} \right)} & {s_{i}\left( {N_{t} - 2} \right)} & \cdots & {s_{i}\left( {N_{t} - L} \right)} \end{bmatrix}},{and}} & (3) \\ {{{h_{i}(L)} = {{\begin{bmatrix} {h_{i}(0)} \\ {h_{i}(1)} \\ \vdots \\ {h_{i}\left( {L - 1} \right)} \end{bmatrix}\mspace{14mu}{for}\mspace{14mu} i} = 1}},2.} & (4) \end{matrix}$ If the convolution matrix is to have at least L rows, N_(t) must be at least 2L−1. In the context of this disclosure, the S matrix is termed the “training matrix” and, as indicated above, it is a convolution matrix that relates to signals received from solely in response to training sequence symbols; i.e., not corrupted by signals sent prior to the sending of the training sequence.

The linear least squared channel estimates, ĥ, assuming S has full column rank, is

$\begin{matrix} {{\hat{h} = {\begin{bmatrix} {\hat{h}}_{1} \\ {\hat{h}}_{2} \end{bmatrix} = {\left( {S^{H}S} \right)^{- 1}S^{H}y}}},} & (5) \end{matrix}$ where the (·)^(H) and (·)⁻¹ designate the complex-conjugate transpose (Hermitian) and the inverse, respectively. For zero mean noise, the channel estimation mean squared error is defined by MSE=E[(h−ĥ)^(H)(h−ĥ)]=2σ² tr((S ^(H) S)⁻¹),  (6) where tr(·) denotes a trace of a matrix. The minimum MSE, MMSE, is equal to

$\begin{matrix} {{{MMSE} = \frac{2\sigma^{2}L}{\left( {N_{t} - L + 1} \right)}},} & (7) \end{matrix}$ which is achieved if and only if

$\begin{matrix} {{S^{H}S} = {\begin{bmatrix} {S_{1}^{H}S_{1}} & {S_{2}^{H}S_{1}} \\ {S_{1}^{H}S_{2}} & {S_{2}^{H}S_{2}} \end{bmatrix} = {\left( {N_{t} - L + 1} \right)I_{2L}}}} & (8) \end{matrix}$ where I_(2L) is the 2L×2 L identity matrix. The sequences s1 and s2 that satisfy equation (8) are optimal sequences. Equation (8) effectively states that the optimal sequences have an impulse-like autocorrelation function (e.g. S₁ ^(H) S corresponds to the identity matrix, I, multiplied by a scalar) and zero cross-correlations.

A straightforward approach for designing two training sequences of length N_(t) each is to estimates two L-taps channels (i.e., two channels having L unknowns each, or a total of 2L unknowns) is to design a single training sequence s of length N_(t)′(N_(t)′=N_(t)+L) that estimates a single channel with L′=2L taps (i.e., a single channel having 2L unknowns). Generalizing, N_(t)′=N_(t)+(n−2) L , where n is the number of antennas. One can thus view the received signal as y=S(L′,N _(t)′)h(L′)+z  (9) where S is a convolution matrix of dimension (N_(t)′−L′+1)×L′. Again, for optimality, the imposed requirement is that S ^(H)(L′,N _(t)′)S(L′,N _(t)′)=(N′ _(t) −L+1)I _(2L),  (10) and once the sequence s is found, the task is to create the subsequences s1 and s2 from the found sequence s. Preferably, the subsequences s1 and s2 can be algorithmically generated from sequence s. Conversely, one may find subsequences s1 and s2 that satisfy the requirements of equation (8) and be such that sequence s can be algorithmically generated. This permits the use of a single training signal generator that, through a predetermined algorithm (i.e., coding) develops the subsequences s1 and s2. Both approaches lead to embodiment depicted in FIG. 3, where information signals are applied to encoder 13 that generates two streams of symbols that are applied to constellation mapper 14 via switches 15 and 16. Generator 5 creates a training sequence that is applied to encoder 9, and encoder 9 generates the subsequences s1 and s2 that are applied to constellation mapper 14 via switches 15 and 16.

Actually, once we realized that the complexity of the training sequence determination problem can be reduced by focusing on the creation of a single sequence from which a plurality of sequences that meet the requirements of equation (8) can be generated, it became apparent that there is no requirement for s to be longer than s1 and s2.

FIG. 4 presents one approach for generating optimal subsequences s1 and s2 that meet the requirements of equation (8) and that can be generated from a single sequence. In accordance with FIG. 4, generator 5 develops a sequence s of length N_(t)/2, and encoder 9 develops therefrom the sequences s₁=−s|s and s₂=s|s, where the “|” symbol stands for concatenation; e.g., sequence s1 comprises sequence −s concatenated with, or followed by, sequence s. Thus, during the training sequence, antenna 11 transmits the sequence −s during the first N_(t)/2 time periods, and the sequence s during the last N_(t)/2 time periods. Antenna 12 transmits the sequence s during both the first and last N_(t)/2 time periods.

In response to the training sequences transmitted by antennas 11 and 12, receiving antenna 21 develops the signal vector y (where the elements of the vector y are the signals received from antennas 11 and 12). Considering the received signal during the first N_(t)/2 time periods as y1 and during the last N_(t)/2 time periods as y2, and employing only the useful portion of the signal (that is, the portions not corrupted by signals that are not part of the training sequence) one gets

$\begin{matrix} {\begin{bmatrix} y_{1} \\ y_{2} \end{bmatrix} = {{\begin{bmatrix} {- S} & S \\ S & S \end{bmatrix}\begin{bmatrix} h_{1} \\ h_{2} \end{bmatrix}} + \begin{bmatrix} z_{1} \\ z_{2} \end{bmatrix}}} & (11) \end{matrix}$ where S is a convolution matrix of dimension (N_(t)−L+1)×L. In accordance with the principles disclosed herein, the FIG. 3 receiver multiplies the received signal in processor 25 with the transpose conjugate matrix S^(H), yielding

$\begin{matrix} {{\begin{bmatrix} r_{1} \\ r_{2\;} \end{bmatrix} = {{\begin{bmatrix} {- S^{H}} & S^{H} \\ S^{H} & S^{H} \end{bmatrix}\begin{bmatrix} y_{1} \\ {y_{2}\;} \end{bmatrix}} = {{\begin{bmatrix} {2S^{H}S} & 0 \\ 0 & {2S^{H}S} \end{bmatrix}\begin{bmatrix} h_{1} \\ h_{2} \end{bmatrix}} + \begin{bmatrix} {\overset{\_}{z}}_{1} \\ {\overset{\_}{z}}_{2} \end{bmatrix}}}}{where}} & (12) \\ {\begin{bmatrix} {\overset{\_}{z}}_{1} \\ {\overset{\_}{z}}_{2} \end{bmatrix} = {{\begin{bmatrix} {- S^{H}} & S^{H} \\ S^{H} & S^{H} \end{bmatrix}\begin{bmatrix} z_{1} \\ z_{2} \end{bmatrix}}.}} & (13) \end{matrix}$ If the sequence s is such that S^(H)S=(N_(t)−L+1)I_(L), then

$\begin{matrix} {\begin{bmatrix} r_{1} \\ r_{2} \end{bmatrix} = {{2{\left( {N_{t} - L + 1} \right)\begin{bmatrix} h_{1} \\ h_{2} \end{bmatrix}}} + {\begin{bmatrix} {{\overset{\_}{z}}_{1}\;} \\ {\overset{\_}{z}}_{2} \end{bmatrix}.}}} & (14) \end{matrix}$ If the noise is white, then the linear processing at the receiver does not color it, and the channel transfer functions correspond to h ₁=½(N _(t) −L+1)r ₁· h ₂=½(N _(t) −L+1)r ₂  (15) with a minimum squared error, MSE, that achieves the lower bound expressed in equation (7); to wit,

$\begin{matrix} {{MSE} = \frac{2\sigma^{2}L}{\left( {N_{t} - L + 1} \right)}} & (16) \end{matrix}$

The above result can be generalized to allow any matrix U to be used to encode the training sequence, s, so that

$\begin{matrix} {\begin{bmatrix} y_{1} \\ y_{2} \end{bmatrix} = {{U\begin{bmatrix} h_{1} \\ h_{2} \end{bmatrix}} + \begin{bmatrix} z_{1} \\ z_{2} \end{bmatrix}}} & (17) \end{matrix}$ as long as U^(H)U=2I for a two antennas case, and U^(H)U=KI for an K antenna case.

Whereas FIG. 4 presents a method for developing sequences s1 and s2 of length N_(t) from a sequence s that is N_(t)/2 symbols long, FIG. 5 presents a method for developing sequences s1 and s2 of length N_(t) from a sequence s that is 2N_(t) symbols long, which consists of a sequence d₁=[s(0) s(1) . . . s(N_(t)−1)] followed by a sequence d₂=[s(0) s(1) . . . s(N_(t)−1)]. In accordance with this approach, s₁=d₁ |−{tilde over (d)}₂*; and s₂=d₂|{tilde over (d)}₁*. The sequence {tilde over (d)}₁ corresponds to the sequence d₁ with its elements in reverse order. The symbol {tilde over (d)}₁* operation corresponds to the sequence d₁ with its elements in reverse order and converted to their respective complex conjugates.

The FIG. 5 encoding is very similar to the encoding scheme disclosed by Alamouti in U.S. Pat. No. 6,185,258, issued Feb. 6, 2001, except that (a) the Alamouti scheme is symbols-centric whereas the FIG. 5 encoding is sequence-centric, and (b) the Alamouti scheme does not have the concept of a reverse order of a sequence (e.g., {tilde over (d)}₁*). See also E. Lindskog and A. Paulraj titled “A Transmit Diversity Scheme for Channels With Intersymbol Interference,” ICC, 1:307-311, 2000. An encoder 9 that is created for developing training sequences s1 and s2 in accordance with FIG. 5, can be constructed with a control terminal that is set to 1 during transmission of information and set to another value (e.g., 0, or to N_(t) to indicate the length of the generated block) during transmission of the training sequence, leading to the simplified transmitter realization shown in FIG. 6. More importantly, such an arrangement leads to a simplified receiver because essentially the same decoder is used for both the information signals and the training signals.

With a signal arrangement as shown in FIG. 5, the signal captured at antenna 21 of receiver 20 is

$\begin{matrix} {\begin{bmatrix} y_{1} \\ y_{2} \end{bmatrix} = {{\begin{bmatrix} {- {\overset{\sim}{D}}_{2\;}^{*}} & {\overset{\sim}{D}}_{1}^{*} \\ {D_{1}\;} & D_{2} \end{bmatrix}\begin{bmatrix} h_{1} \\ h_{2} \end{bmatrix}} + \begin{bmatrix} z_{1} \\ z_{2} \end{bmatrix}}} & (18) \end{matrix}$ where the matrices D_(i) and {tilde over (D)}_(i) (for i=1,2) are convolution matrices for d₁ and {tilde over (d)}₁, respectively, of dimension (N_(t)−L+1)×L. Recalling from equation (8) that MMSE is achieved if and only if D^(H)D has zeros off the diagonal; i.e., −{tilde over (D)} ₁ ^(T) {tilde over (D)} ₂*+(D ₂*)^(T) D ₁=0  (19) and −{tilde over (D)} ₂ ^(T) {tilde over (D)} ₁*+(D ₁*)^(T) D ₂=0,  (20) and identity matrices on the diagonal; i.e., {tilde over (D)} ₂ ^(T) {tilde over (D)} ₂*+(D ₁*)^(T) D ₁=2(N _(t) −L+1)I _(L)  (21) and {tilde over (D)} ₁ ^(T) {tilde over (D)} ₂*+(D ₂*)^(T) D ₂=2(N _(t) −L+1)I _(L).  (22)

Various arrangements that interrelate sequences d1 and d2 can be found that meet the above requirement. By way of example (and not by way of limitation), a number of simple choices satisfy these conditions follow.

(1) (D₁*)^(T)D₁=(N_(t)−L+1)I_(L), {tilde over (D)}₁=D₁, and D₂=D₁. To show that equation (21) holds, one may note that {tilde over (D)}₂ ^(T){tilde over (D)}₂* (the first term in the equation) becomes D₁ ^(T) D₁*, but if (D₁*)^(T)D₁ is a diagonal matrix then so is {tilde over (D)}₂ ^(T){tilde over (D)}₂*. Thus, according to this training sequence embodiment, one needs to only identify a sequence d₁ that is symmetric about its center, with an impulse-like autocorrelation function, and set d₂ equal to d₁. This is shown in FIG. 7. (2) (D₁*)^(T)D₁=(N_(t)−L+1)I_(L), and {tilde over (D)}₂=D₁. To show that equation (21) holds, one may note that the {tilde over (D)}₂ ^(T){tilde over (D)}₂* first term in the equation also becomes {tilde over (D)}₁ ^(T){tilde over (D)}₁*. Thus, according to this training sequence embodiment, one needs to only identify a sequence d₁ with an impulse-like autocorrelation function, and set d₂ equal to {tilde over (d)}₁. This is shown in FIG. 8. (3) (D₁*)^(T) D₁=(N_(t)−L+1)I_(L), and {tilde over (D)}₂*=D₁. To show that equation (21) holds, one may note that the {tilde over (D)}₂ ^(T){tilde over (D)}₂* first term in the equation becomes (D₁*)^(T)D₁. Thus, according to this training sequence embodiment, one needs to only identify a sequence d₁ with an impulse-like autocorrelation function, and set d₂ equal to {tilde over (d)}₁*. This is shown in FIG. 9. Training Sequences Employing Trellis Coding

Consider a trellis code with m memory elements and outputs from a constellation of size C, over a single channel with memory 2^(m)C^((L-1))−1. To perform joint equalization and decoding one needs a product trellis with 2^(m)C^((L-1)) states. For a space-time trellis code with m memory elements, n transmit antennas and one receive antenna, over a channel with memory (L−1), one needs a product trellis with 2^(m) C^(n(L-1)).

The receiver can incorporate the space-time trellis code structure in the channel model to create an equivalent single-input, single output channel, heq, of length m+L. The trellis, in such a case, involves C^((m+L-1)) states. The approach disclosed herein uses a single training sequence at the input of the space-time trellis encoder to directly estimate heq used by the joint space-time equalizer/decoder. The channel heq that incorporates the space-time code structure typically has a longer memory than the channel h1 and h2 (in a system where there are two transmitting antennas and one receiving antenna).

To illustrate, assume an encoder 30 as depicted in FIG. 10 that employs an 8-PSK constellation of symbols to encode data from a training sequence generator into a sequence s of symbols taken from the set e^(i2πp) ^(k) ^(/8), p_(k)=0, 1, 2, . . . , 7, where the training sequences s1 and s2 are algorithmically derived within encoder 30 from sequence s. Specifically, assume that s₁(k)=s(k), and that s₂(k)=(−1)^(p) ^(k-1) s(k−1), which means that s₂(k)=s(k−1) when s(k−1) is an even member of the constellation (e^(i0), e^(iπ/2), e^(iπ), and e^(i3π/2)), and s₂(k)=−s(k−1) when s(k−1) is an odd member of the constellation.

With such an arrangement, the received signal at time k can be expressed as

$\begin{matrix} {\begin{matrix} {{y(k)} = {{\sum\limits_{i = 0}^{L - 1}{{h_{1}(i)}{s\left( {k - i} \right)}}} + {\sum\limits_{i = 0}^{L - 1}{{h_{2}\left( {i,k} \right)}\left( {- 1} \right)^{p_{k - i - 1}}}}}} \\ {{s\left( {k - i - 1} \right)} + {z(k)}} \\ {{= {{\sum\limits_{i = 0}^{L}{{h_{eq}(i)}{s\left( {k - i} \right)}}} + {z(k)}}},} \end{matrix}{where}} & (23) \\ {{h_{eq}\left( {i,k} \right)} = \left\{ \begin{matrix} {h_{1}(0)} & {{{for}\mspace{14mu} i} = 0} \\ {{h_{1}\;(i)} + {\left( {- 1} \right)^{p_{k - i}}{h_{2}\left( {i - 1} \right)}}} & {{{for}\mspace{14mu} 0} < i < L} \\ {\left( {- 1} \right)^{p_{k - L}}{h_{2}\left( {L - 1} \right)}} & {{{for}\mspace{14mu} i} = {L.}} \end{matrix} \right.} & (24) \end{matrix}$ A block of received signals (corresponding to the useful portion of the training sequence block) can be expressed in matrix form by

$\begin{matrix} {\mspace{79mu}{{y = {{Sh}_{eq} + z}}\mspace{20mu}{where}}} & (25) \\ {S = {\begin{bmatrix} {s(L)} & {s\left( {L - 1} \right)} & \ldots & {s(0)} \\ {s\left( {L + 1} \right)} & {s(L)} & \ldots & {s(1)} \\ \vdots & \vdots & \; & \vdots \\ {s\left( {N_{t} - 1} \right)} & {s\left( {N_{t} - 2} \right)} & \ldots & {s\left( {N_{t} - L - 1} \right)} \end{bmatrix}\begin{bmatrix} {h_{eq}\left( {0,L} \right)} \\ {h_{eq}\left( {1,{L + 1}} \right)} \\ \vdots \\ {h_{eq}\left( {L,{N_{t} - 1}} \right)} \end{bmatrix}}} & (26) \end{matrix}$ and following the principles disclosed above, it can be realized that when the training sequence is properly selected so that S^(H)S is a diagonal matrix, i.e., S^(H)S=(N_(t)−L)I_(L+1), an estimate of h_(eq), that is, ĥ_(eq), is obtained from

$\begin{matrix} {{\hat{h}}_{eq} = {\frac{S^{H}y}{\left( {N_{t} - L} \right)}.}} & (27) \end{matrix}$ If the training sequence were to comprise only the even constellation symbols, e^(i2πk/8), k=0, 2, 4, 6, per equation (24), the elements of ĥ_(eq) would correspond to h _(eq) ^(even) =[h ₁(0),h ₁(1)+h ₂(0),h ₁(2)+h ₂(1), . . . h ₁(L−1)+h ₂(L−2),h ₂(L−1)].  (28) If the training sequence were to comprise only the odd constellation symbols, e^(i2πk/8), k=1, 3, 5, 7, the elements of ĥ_(eq) would correspond to h _(eq) ^(odd) =[h ₁(0),h ₁(1)−h ₂(0),h ₁(2)−h ₂(1), . . . h ₁(L−1)−h ₂(L−2),−h ₂(L−1)].  (29) If the training sequence were to comprise a segment of only even constellation symbols followed by only odd constellation symbols (or vice versa), then channel estimator 22 within receiver 20 can determine the h_(eq) ^(even) coefficients from the segment that transmitted only the even constellation symbols, and can determine the h_(eq) ^(odd) coefficients from the segment that transmitted only the even constellation symbols. Once both h_(eq) ^(even) and h_(eq) ^(odd) are known, estimator 22 can obtain the coefficients of h₁ from

$\begin{matrix} {\left\lbrack {{h_{1}(0)},{h_{1}(1)},{h_{1}(2)},{\ldots\mspace{14mu}{h_{1}\left( {L - 1} \right)}}} \right\rbrack = \frac{h_{eq}^{even} + h_{eq}^{odd}}{2}} & (30) \end{matrix}$ and the coefficients of h₂ from

$\begin{matrix} {\left\lbrack {{h_{2}(0)},{h_{2}(1)},{h_{2}(2)},{\ldots\mspace{14mu}{h_{2}\left( {L - 1} \right)}}} \right\rbrack = {\frac{h_{eq}^{even} - h_{eq}^{odd}}{2}.}} & (31) \end{matrix}$ What remains, then, is to create a single training sequence s of length N_(t) where one half of it (the s_(even) portion) consists of only even constellation symbols (even sub-constellation), and another half of it (the s_(odd) portion) consists of only odd constellation symbols (odd sub-constellation). The sequences s₁ and s₂ of length N_(t) are derived from the sequence s by means of the 8-PSK space-time trellis encoder. The sequences s₁ and s₂ must also meet the requirements of equation (8). Once s_(even) is found, s_(odd) can simply be s_(odd)=αs_(even), where α=e^(iπk/4) for any k=1,3,5,7.  (32) Therefore, the search for sequence s is reduced from a search in the of 8^(N) ^(t) to a search for s_(even) in the space 4^((N) ^(t) ^(/2)) such that, when concatenated with s_(odd) that is computed from s_(even) as specified in equation (32), yields a sequence s that has an autocorrelation function that is, or is close to being, impulse-like.

For a training sequence of length N_(t)=26, with an 8-PSK space-time trellis encoder, we have identified the 12 training sequences specified in Table 1 below.

TABLE 1 sequence # α s_(e) 1 exp(i5π/4) −1 1 1 1 1 −1 −i −1 1 1 −1 1 1 2 exp(i3π/4) 1 1 −1 1 i i 1 −i i −1 −1 −1 1 3 exp(iπ/4) 1 −1 −1 −i i −i 1 1 1 −i −1 1 1 4 exp(iπ/4) 1 −1 −1 −i 1 −1 1 −i −i −i −1 1 1 5 exp(iπ/4) 1 i 1 1 i −1 −1 i 1 −1 1 i 1 6 exp(i3π/4) 1 i 1 i −1 −1 1 −1 −1 i 1 i 1 7 exp(i7π/4) 1 −i 1 1 −i −1 −1 −i 1 −1 1 −i 1 8 exp(i5π/4) 1 −i 1 −1 i 1 −1 −i 1 1 1 −i 1 9 exp(i3π/4) −1 1 1 1 −1 −1 −i −1 −1 1 −1 1 1 10 exp(i7π/4) −1 i −1 −i 1 −i i i 1 i 1 −i 1 11 exp(iπ/4) −1 −i −1 i 1 i −i −i 1 −i 1 i 1 12 exp(i3π/4) −1 −i −1 i −1 i −i −i −1 −i 1 i 1 Construction of Training Sequence

While the above-disclosed materials provide a very significant improvement over the prior art, there is still the requirement of selecting a sequence s1 with an impulse-like autocorrelation function. The following discloses one approach for identifying such a sequence without having to perform an exhaustive search.

A root-of-unity sequence with alphabet size N has complex roots of unity elements of the form

${\mathbb{e}}^{\frac{{\mathbb{i}2\pi}\; k}{N}},{k = 1},2,{\ldots\mspace{14mu}{\left( {N - 1} \right).}}$ As indicated above, the prior art has shown that perfect roots-of-unity sequences (PRUS) can be found for any training sequence of length Nt, as long as no constraint is imposed on the value of N. As also indicated above, however, it is considered disadvantageous to not limit N to a power of 2. Table 2 presents the number of PRUSs that were found to exist (through exhaustive search) for different sequence lengths when the N is restricted to 2 (BPSK), 4 (QPSK), or 8 (8-PSK). Cell entries in Table 2 with “-” indicate that sequence does not exist, and blank cells indicate that an exhaustive search for a sequence was not performed.

TABLE 2 N_(t)= 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 BPSK — — 8 — — — — — — — — — — — — — — QPSK 8 — 32 — — — 128 — — — — — — — 6144 — — 8-PSK 16 — 128 — — — 512 — — — — —

A sequence s of length Nt is called L-perfect if the corresponding training matrix S of dimension (N_(t)−L+1)×L satisfies equation (8). Thus, an L-perfect sequence of length N_(t) is optimal for a channel with L taps. It can be shown that the length N_(t) of an L-perfect sequence from a 2^(p)-alphabet can only be equal to

$\begin{matrix} {{N_{t} = \begin{Bmatrix} {2\left( {L + i} \right)} & {{{for}\mspace{14mu} L} = {odd}} \\ {{2\left( {L + i} \right)} - 1} & {{{for}\mspace{14mu} L} = {even}} \end{Bmatrix}},{{{for}\mspace{14mu} i} = 0},1,\ldots\mspace{14mu},} & (33) \end{matrix}$ which is a necessary, but not sufficient, condition for L-perfect sequences of length N_(t). Table 3 shows the minimum necessary N_(t) for L=2, 3, . . . 10, the size of the corresponding matrix S, and the results of an exhaustive search for L-perfect sequences (indicating the number of such sequences that were found). Cell entries marked “x” indicate that sequences exist, but number of such sequences it is not known.

TABLE 3 L 2 3 4 5 6 7 8 9 10 N_(t) 3 6 7 10 11 14 15 18 19 S 2 × 2 4 × 3 4 × 4 6 × 5 6 × 6 8 × 7 8 × 8 10 × 9 10 × 10 BPSK 4 8 8 — — — — — — QPSK 16 64 64 — — 128 X 8-PSK 64 512 512 X X

It is known that with a PRUS of a given length, NPRUS, one can estimate up to L=NPRUS unknowns. It can be shown that a training sequence of length Nt is also an L-perfect training sequence if N _(t) =kN _(PRUS) +L−1 and k≧1.  (34) Accordingly, an L-perfect sequence of length kN_(PRUS)+L−1 can be constructed by selecting an N_(PRUS) sequence, repeating it k times, and circularly extending it by L−1 symbols. Restated and amplified somewhat, for a selected PRUS of a given N_(PRUS), i.e., s _(p)(N _(PRUS))=[s _(p)(0)s _(p)(1) . . . s _(p)(N _(PRUS)−1)],  (35) the L-perfect sequence of length kN_(PRUS)+L−1 is created from a concatenation of k s_(p)(N_(PRUS)) sequences followed by the first L−1 symbols of s_(p)(N_(PRUS)), or from a concatenation of the last L−1 symbols of s_(p)(N_(PRUS)) followed by ks_(p) (N_(PRUS)) sequences.

To illustrate, assume that the number of channel “taps” that need to be estimated, L, is 5, and that a QPSK alphabet is desired to be used. From the above it is known that N_(PRUS) must be equal to or greater than 5, and from Table 2 it is known that the smallest N_(PRUS) that can be found for QSPK that is larger than 5 is N_(PRUS)=8. Employing equation (34) yields

$\begin{matrix} \begin{matrix} {N_{t} = {{kN}_{PRUS} + L - 1}} \\ {= {{k \cdot 8} + 5 - 1}} \\ {{= 12},20,28,\ldots} \end{matrix} & (36) \\ {{{{for}\mspace{14mu} k} = 1},2,{3\mspace{14mu}\ldots}} & \; \end{matrix}$

While an L-perfect training sequence cannot be constructed from PRUS sequences for values of N_(t) other than values derived by operation of equation (34), it is known that, nevertheless, L-perfect sequences may exist. The only problem is that it may be prohibitively difficult to find them. However, in accordance with the approach disclosed below, sub-optimal solutions are possible to create quite easily.

If it is given that the training sequence is N_(t) long, one can express this length by N _(t) =kN _(PRUS) +L−1+M′, where M′>0  (37) In accord with our approach, select a value of N_(PRUS)≧L that minimizes M, create a sequence of length kN_(PRUS)+L−1 as disclosed above, and then extend that sequence by adding M symbols. The M added symbols can be found by selecting, through an exhaustive search, the symbols that lead to the lowest estimation MSE. Alternatively, select a value of N_(PRUS)≧L that minimizes M′ in the equation, N _(t) =kN _(PRUS) +L−1−M′, where M′>0  (38) create a sequence of length kN_(PRUS)+L−1 as disclosed above, and then drop the last (or first) M′ symbols.

The receiver shown in FIG. 2 includes the channel estimator 22, which takes the received signal and multiplies it SH as appropriate; see equation (12), above. 

We claim:
 1. A method executed in a transmitter that transmits blocks over two antennas to a receiver antenna, over a channel represented by a filter with L channel taps from each of said two antennas to said receiver antenna, where L is an integer and each block comprises a portion devoted to information and a portion devoted to a training sequence, comprising the steps of: choosing a root sequence, composed of N^(th) roots of unity, as an input to an encoder, where N is a power of 2 integer that is not smaller than L; developing in said encoder a first training sequence of symbols by employing said root sequence in a first manner; developing in said encoder a second training sequence of symbols by employing said root sequence in a second manner that is different from said first manner; and applying said first training sequence to a first input of a mapper that maps the symbols of said first training sequence onto a constellation and applies them to a first of said two antennas during said portion devoted to training sequences; and applying said second training sequence to a second input of said mapper that maps the symbols of said second training sequence onto said constellation and applies them to a second of said two antennas during said portion devoted to training sequences.
 2. The method of claim 1 where said first training sequence, developed in said first manner, is sequence s concatenated to sequence −s, where s is the root sequence; and said second training sequence, developed in said second manner, is sequence s concatenated to sequence s.
 3. The method of claim 1 where said root sequence consists of subsequence d2 that consists of at least L symbols concatenated to subsequence d1 that consists of at least L symbols, said first training sequence, developed in said first manner, is sequence −{tilde over (d)}2* concatenated to sequence d1, where sequence {tilde over (d)}2* corresponds to sequence d2 with its elements in reverse order and each element converted its complex conjugate; and said second training sequence, developed in said second manner, is sequence −d1 concatenated to sequence d2.
 4. The method of claim 1 where said first training sequence, developed in said first manner, is sequence {tilde over (d)}* concatenated to sequence −d, where sequence d is the root sequence, and sequence {tilde over (d)}* corresponds to sequence d with its elements in reverse order and each element in sequence {tilde over (d)}* is the complex conjugate of its corresponding element in sequence d; and said second training sequence, developed in said second manner, is sequence d* concatenated to sequence d, where each element in sequence d* is the complex conjugate of its corresponding element in sequence d.
 5. The method of claim 1 where said first training sequence, developed in said first manner, is sequence d* concatenated to sequence −d, where sequence d is the root sequence and each element in sequence d* is the complex conjugate of its corresponding element in sequence d; and said second training sequence, developed in said second manner, is sequence d* concatenated to sequence {tilde over (d)}, and where sequence {tilde over (d)} corresponds to sequence d with its elements in reverse order.
 6. The method of claim 1 where said first training sequence, developed in said first manner, is sequence d concatenated to sequence −d; and said second training sequence, developed in said second manner, is sequence d* concatenated to sequence {tilde over (d)}*, where sequence {tilde over (d)}* corresponds to sequence d with its elements in reverse order and each element in sequence {tilde over (d)}* is the complex conjugate of its corresponding element in sequence d.
 7. A method comprising: developing n symbols streams from an information bit stream, where n is an integer greater than one; mapping symbols of each of said n symbol streams into a standard signal constellation to create n mapped streams; applying respective ones of the n mapped streams to a different one of n antennas at a first time period; generating a sequence of symbols; creating n training sequences from said sequence of symbols; mapping said n training sequences onto a standard constellation to create n mapped training sequences, where said n training sequences have a common length N_(t), that is related to transmitted symbols memory, L-1, of a communication medium between said antennas and a receiver, N_(t) being greater than or equal to 2L-1 and applying respective ones of the n mapped training sequences to a different one of said n antennas during a second time period.
 8. The method as recited in claim 7 further comprising creating the n mapped streams and the n mapped training sequences in a constellation mapper.
 9. A space-time diversity transmitter comprising: n transmitting antennas, where n is an integer greater than one; a first encoder responsive to an applied information bit stream, said first encoder developing n symbol streams; a constellation mapper responsive to said n symbol streams, to map symbols of each of said n symbol streams into a standard signal constellation to create n mapped streams, said constellation mapper configured to apply respective ones of the n mapped streams to said n antennas in blocks of N_(t) mapped symbols that are synchronized in time to each other; a training generator for generating either n sequences of signals or a sequence of signals that contains n subsequences of signal; a second encoder for creating n training symbol sequences from said signals created by said training generator, each containing N symbols; and said constellation mapper is configured to map said n training symbol sequences onto a standard constellation to develop n mapped training sequences, and to apply respective ones of the n mapped training sequences to said n antennas at times when said constellation mapper is not applying said n mapped streams to said n antennas; where said n training symbol sequences have an impulse-like autocorrelation function and zero cross correlation, said training generator creates a sequence s, and said second encoder creates a first training sequence that is equal to -s concatenated with s, and a second training sequence that is equal to s concatenated with s.
 10. The transmitter of claim 9 where said sequence s contains N_(t)/2 symbols, where N is related to number of channel parameters, L, that a receiver which seeks to receive signals from an antenna of said transmitter estimates. 